package iks.utils.ui 
{
	import flash.display.*;
	import flash.geom.*;
	
	/**
	 * 位图数字类, 根据提供的资源数字位图, 拼接成一个根据指定数字拼接成的位图
	 * @author StefanieKaka
	 */
	public final class BMPNumber extends BitmapData 
	{
		/**
		 * 构造函数
		 * @param	number 数字
		 * @param	rw 单个数字的宽度
		 * @param	rh 单个数字的高度
		 * @param	resource 位图资源
		 * @param	interval 在贴图时每个字的间距, -1表示间距为rw
		 */
		public function BMPNumber(number : int, rw : int, rh : int, resource : BitmapData, interval : int = -1) 
		{
			var str : String = number.toString();
			var len : int = str.length;
			var w : int = 0;
			
			if (interval == -1)
				w = len * rw;
			else
				w = len * interval;
			
			super(w, rh, true, 0);
			
			var sourceRect : Rectangle = new Rectangle(0, 0, rw, rh);
			var destPos : Point = new Point();
			for (var i : int = 0; i < len; ++i)
			{
				var num : int = str.charCodeAt(i) - 48;
				
				if (interval == -1)
				{
					sourceRect.x = num * rw;
					destPos.x = i * rw;
				}
				else
				{
					sourceRect.x = num * rw + (rw - interval) / 2;
					destPos.x = i * interval;
				}
				
				this.copyPixels(resource, sourceRect, destPos);
			}
		}
		
///////////////////////////////////////////////////////////////////////////////////////////////////
// 私有域
///////////////////////////////////////////////////////////////////////////////////////////////////

	}

}

































///////////////////////////////////////////////////////////////////////////////////////////////////
// end file